package com.atguigu.gulimall.product.service;

import com.atguigu.gulimall.product.entity.Category;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 商品三级分类 服务类
 * </p>
 *
 * @author szh
 * @since 2020-12-16
 */
public interface ICategoryService extends IService<Category> {
	/**
	 * 功能查询菜单树形结构
	 * */
	List<Category> listWithTree();

	/**
	 * 功能：批量删除节点
	 * @param ids 主键id集合
	 */
	int removeMenuByIds(List<Long> ids);

	/**
	 * 功能：查找目录的路径
	 * @param catelogId 菜单表主键
	 * @return [/父/子/孙]
	 */
	Long[] findCatelogPath(Long catelogId);

	/**
	 * 功能：更新菜单表，并且在更新名称的时候，也会同步更新其他关联表
	 * @param category 菜单表·实体
	 * @return
	 */
	Boolean updateCascade(Category category);
}
